Главная страница Карта сайта Каталог FAQ DelphiFaq Уроки Советы Новости
Форум Статьи Лекции Исходники WEB... Юмор
Старый каталог FAQ по PHPDELPHI FAQ (темат.)

Сайт

Графический формат JPEG

(источник: http://el-izdanie.narod.ru/)

На сегодняшний день JPEG является одной из ярких иллюстраций результатов  исследований в области развития технологий сжатия изображений. Аббревиатура JPEG происходит от названия комитета по стандартам Joint Photographic Experts Group (Объединенная группа экспертов по фотографии), входящего в состав Международной организации по стандартиза­ции (ISO). В 1982 году ISO сформировала группу экспертов по фотографии (PEG), возложив на нее обязанности по проведению исследований в области передачи видеосигналов, неподвижных изображений и текстов по каналам ISDN (интегральная цифровая сеть связи). Перед PEG была поставлена задача разработать набор промышленных стандартов по передаче графических данных и данных изображений с помощью цифровых коммуникационных сетей.

В 1986 году подгруппой СС1ТТ были начаты исследования методов сжатия цветных и полутоновых данных для факсимильной связи. Применяемые при этом методы сжатия цветных данных очень напоминали те, которые исследовались группой JPEG. Поэтому было принято решение объединить ресурсы этих групп для совместной работы над единым стандартом.

В 1987 году ISO и ССIТТ объединили свои группы в комитет, который должен был провести исследования и выпустить стандарт сжатия данных, который применялся бы обеими организациями. Новый комитет получил название JPEG.

Создатели JPEG смогли предусмотреть множество коммерческих программ на базе разрабатываемой технологии, поскольку потребители ожидали маркетинговых предложений по получению изображений и мультимедиа. Большинство из ранее разработанных методов сжатия были мало пригодны для сжатия данных полноцветных многоградационных изображений, содержащих сотни и тысячи цветов, характеризующих реальный мир. В тот период очень малое число файловых форматов могли поддерживать растровые изображения с глубиной цвета 24-бит/пиксел и более.

Например, формат GIF позволял сохранять только изображения с максимальной глубиной цвета 8 бит/пиксел, т.е. не более 256 цветов. Его алгоритм сжатия (LZW) мало подходил для сканированных изображений.

Форматы TIFF и BMP позволяли хранить данные глубиной 24-бит/пиксел, но их версии, существовавшие до JPEG, позволяли применять только схемы кодирования, которые плохо сжимали этот тип данных изображения (LZW и RLE, соответственно).

JPEG явился методом сжатия, позволяющим сжимать данные полноцветных многоградационных изображений с глубиной от 6 до 24 бит/пиксел с достаточно высокой скоростью и эффективностью. Сегодня JPEG - эта схема сжатия изображений, которая позволяет достичь очень высоких коэффициентов сжатия. Правда, максимальное сжатие графической информации, как правило, связано с определенной потерей информации. То есть, для достижения высокой степени сжатия алгоритм так изменяет исходные данные, что получаемое после восстановления изображение будет отличаться от исходного (сжимаемого). Этот метод сжатия используется для работы с полноцветными изображениями высокого фотографического качества

JPEG не был определен в качестве стандартного формата файлов изображений, однако на его основе были созданы новые или модифицированы существовавшие файловые форматы.

Алгоритм обработки данных JPEG

Спецификация JPEG определяет минимальные требования стандарта, которые должны поддерживаться всеми программами, использующими этот метод. JPEG основан на схеме кодирования, базирующейся на дискретных косинус-преобразованиях (DCT). DCT — это общее имя определенного класса операций, данные о которых были опубликованы несколько лет назад. Алгоритмы, базирующиеся на DCT, стали основой различных методов сжатия. Эти алгоритмы сжатия базируются не на поиске одинаковых атрибутов пикселов (как в RLE и LZW), а на разнице между ними.

В силу своей природы они всегда кодируют с потерями, но способны обеспечить высокую степень сжатия при минимальных потерях данных. Схема JPEG эффективна только при сжатии многоградационных изображений, в которых различия между соседними пикселями, как правило, весьма незначительны. Практически JPEG хорошо работает только с изображениями, имеющими глубину хотя бы 4 или 5 битов/пиксел на цветовой канал. Основы стандарта определяют глубину входного образца в 8 бит/пиксел. Данные с меньшей битовой глубиной могут быть обработаны посредством масштабирования до 8 бит/пиксел, но результат для исходных данных с низкой глубиной цвета может быть неудовлетворительным, поскольку между атрибутами соседних пикселов будут существенные различия. По подобным причинам плохо обрабатываются исходные данные на основе цветовых таблиц, особенно если изображение представляется в размытом виде.

Процесс сжатия по схеме JPEG включает ряд этапов (рис. 7):

- Преобразование изображения в оптимальное цветовое пространство.

- Субдискретизация компонентов цветности усреднением групп пикселей.

- Применение дискретных косинус-преобразований для уменьшения избыточности данных изображения.

- Квантование каждого блока коэффициентов DCT с применением весовых функций, оптимизированных с учетом визуального восприятия человеком.

- Кодирование результирующих коэффициентов (данных изображения) с применением алгоритма Хаффмена для удаления избыточности информации.

Рассмотрим вкратце особенности каждого из перечисленных этапов. При этом хотелось бы обратить внимание на то, что декодирование JPEG осуществляется в обратном порядке.

Рис. 7   Структура  JPEG - преобразований

Цветовое пространство. В принципе алгоритм JPEG способен кодировать изображения, основанные на любом типе цветового пространства. JPEG кодирует каждый компонент цветовой модели отдельно, что обеспечивает его полную независимость от любой модели цветового пространства (например, от RGB, HSI или CMYК).

В случае применения цветового пространства яркость/цветность, например такого, как YUV или YCbCr, достигается лучшая степень сжатия. Компонента Y представляет собой интенсивность, а U и V - цветность. Эта модель может быть переведена в RGB посредством преобразования без какой-либо коррекции насыщенности. Для полутоновых изображений (в градациях серого) используется только одна составляющая Y.

Преобразование цветовой модели RGB в модель Y Cb Cr осуществляется с помощью следующих соотношений:

Y = 0,299 R + 0,587 G + 0,114 B;

Cb = - 0,1687 R - 0,3313 G + 0.5 B + 128;

Cr = 0,5 R - 0,4187 G - 0,0813 B + 128.

Обратное преобразование модели Y Cb Cr в модель RGB осуществляется с помощью подобных соотношений:

R = Y + 1,402 (Cr-128);

G = Y - 0,34414 (Cb-128) - 0,71414 (Cr-128);

B = Y + 1,772 (Cb-128).

Субдискретизация компонентов цветности. На экране компьютера мы практически никогда не видим реально полноцветных изображений реального мира. Это объясняется ограниченными возможностями по цифровому представлению в памяти ПЭВМ, искажениями при воспроизведении цвета монитором и видеокартой. В результате на мониторе ПЭВМ воспроизводятся, в зависимости от выбранного видеорежима, цвета наиболее близкие к реальным.

Большая часть визуальной информации, к которой наиболее чувствительны глаза человека, состоит из высокочастотных, полутоновых компонентов яркости (Y) цветового пространства YCbCr. Две других составляющих цветности (Сb и Сr) содержат высокочастотную цветовую информацию, к которой глаз человека менее чувствителен. Следовательно, определенная ее часть может быть отброшена и, тем самым, можно уменьшить количество учитываемых пикселей для каналов цветности. Например, в изображении размером 1000x1000 пикселей можно использовать яркости всех 1000x1000 пикселей, но только 500х500 пикселей для каждого компонента цветности. При таком представлении каждый пиксел цветности будет охватывать ту же область, что и блок 2х2 пиксела (для яркости). В результате мы сохраним для каждого блока 2х2 всего 6 пиксельных значений (4 значения яркости и по 1 значению для каждого из двух каналов цветности) вместо того, чтобы использовать 12 значений при обычном описании. Практика показала, что уменьшение объема данных на 50% почти незаметно отражается на качестве большинства изображений.

Однако в случае общепринятых цветовых моделей типа RGB такое представление данных невозможно, поскольку каждый цветовой канал RGB несет некоторую информацию яркости и любая потеря разрешения весьма заметна.

Уменьшение разрешения каналов цветности путем субдискретизации, или усреднения групп пикселей осуществляется компрессором JPEG.

Стандарт JPEG предлагает несколько различных вариантов определения коэффициентов дискретизации, или относительных размеров каналов субдискретизации. Канал яркости всегда остается с полным разрешением (дискретизация 1:1). Для обоих каналов цветности обычно производится субдискретизация 2 - в горизонтальном направлении и 1:1 или 2:1 — в вертикальном. При этом подразумевается, что цветности пикселов будет охватывать ту же область, что и блок 2х1 или 2х2 яркости пикселей. Согласно терминологии JPEG, эти процессы называются 2h1v - и 2h2v - дискретизацией соответственно.

Другой общепринятой спецификацией дискретизации 2hlv является 4:2:2, а дискретизации 2h2v — 4:2:0; последняя спецификация связана с телевидением. Дискретизация 2hlv используется достаточно широко, поскольку соответствует стандарту NTSC (Национальный комитет по телевизионным стандартам США), однако при весьма незначительном выигрыше в качестве она обеспечивает меньшую степень сжатия, чем дискретизация 2h2v.

Цветовые модели RGB, HSI и CMY используют в полезной визуальной информации все три цветовых компонента. Это затрудняет ее выборочное отбрасывание, а, следовательно, и уменьшает степень сжатия данных. Полутоновые изображения не имеют цветового пространства и, следовательно, не нуждаются в преобразовании.

Поскольку средства визуализации и представления информации являются цифровыми, в них изначально заложена определенная система квантования сигнала. В конечном итоге, уровень квантования определяется глубиной цвета, т. е. количеством кодовых комбинаций, которые используются для кодирования цвета. Этот процесс и называется квантованием цвета.

Поскольку в квантованной матрице отсутствует значительная доля высокочастотной информации, имеющейся в исходной матрице, первая часто сжимается до половины своего первоначального размера или даже еще больше. Реальные фотографические изображения часто совсем невозможно сжать с помощью методов сжатия без потерь, поэтому 50%-ное сжатие признается достаточно хорошим.

После конвертации графических данных в цветовое пространство типа LAB, отбрасывается часть информации о цвете (в зависимости от конкретной реализации алгоритма).

Первоначально в спецификациях формата не была предусмотрена субтрактивная цветовая модель CMYK. Фирма Adobe ввела поддержку функции цветоделения. Однако использование цветовой модели CMYK в JPEG для многих программ проблематично. Более надежным решением считается использование JPEG-сжатия в EPS-файлах (Photoshop).

Сегментация изображения. Сегментация  изображения применяется с целью деления его на два и более сегментов (подизображений). Это облегчает буферизацию данных изображения в памяти ПЭВМ, ускоряет их произвольную выборку с диска, и позволяет хранить изображения размером свыше 64х64 Кб. JPEG поддерживает три типа Сегментации изображений: простую, пирамидальную и комбинированную.

При простой сегментации изображение делится на два или более сегментов фиксированного размера. Все простые сегменты кодируются слева направо и сверху вниз, являются смежными и неперекрывающимися. Сегменты должны иметь одинаковое количество выборок и идентификаторов компонентов, и быть закодированными по одной схеме. Сегменты в нижней и правой частях изображения могут быть меньшего размера, чем "внутренние" сегменты, поскольку величина изображения не обязательно должна быть кратной размерам сегмента.

При пирамидальной сегментация изображение также делится на сегменты, а каждый из них, в свою очередь, — на еще более мелкие сегменты . При этом используются различные уровни разрешения. Моделью такого процесса является сегментированная пирамида изображения JPEG (JPEG Tiled ImagePyramid, JTIP), отражающая процедуру создания пирамидального JPEG-изображения с несколькими уровнями разрешения.

В схеме JTIP последовательные слои одного изображения хранятся с разным разрешением. Первое изображение, записываемое на вершине пирамиды, занимает одну шестнадцатую часть установленного размера экрана и называется виньеткой. Применяется оно для быстрого воспроизведения содержимого изображения. Это приобретает особую значимость при работе с программами просмотра (браузерами). Следующее изображение занимает одну четвертую часть экрана и называется мажеткой. Обычно она используется в тех случаях, когда на экране необходимо одновременно отобразить два и более изображений. Далее следуют полноэкранное изображение с низким разрешением, изображения с последовательно повышающимся разрешением и, наконец, оригинал изображения.

При пирамидальной сегментация целесообразен процесс внутренней сегментации, когда каждый сегмент кодируется как часть одного потока JPEG-данных. Иногда может применяться процесс внешней сегментации, при котором каждый сегмент представляет собой отдельно кодируемый поток JPEG-данных. Внешняя сегментация ускоряет доступ к данным изображения, облегчает его шифрование и улучшает совместимость с некоторыми JPEG-декодерами.

Комбинированная сегментация позволяет хранить и воспроизводить версии изображений с несколькими уровнями разрешения в виде мозаики. Комбинированная сегментация допускает наличие перекрывающихся сегментов разных размеров, с разными коэффициентами масштабирования и параметрами сжатия. Каждый сегмент кодируется отдельно и может комбинироваться с другими сегментами без повторной дискретизации.

Например, в случае использования сегментов размером 8х8 пикселов, для каждого блока формируется набор чисел. Первые несколько чисел представляют цвет блока в целом, в то время, как последующие числа отражают более тонкие детали. Спектр деталей базируется на зрительном восприятии человека, поэтому крупные детали более заметны.

На следующем этапе, в зависимости от выбранного уровня качества, отбрасывается определенная часть чисел, представляющих тонкие детали.

Таким образом, чем выше уровень компрессии, тем больше данных отбрасывается и тем ниже качество изображения. Используя JPEG можно получить файл в 1-500 раз меньше, чем ВМР. Формат аппаратно независим, полностью поддерживается на РС и Macintosh.

Дискретное косинусное преобразование. Ключевым компонентом работы алгоритма является дискретное косинусное преобразование. Дискретное косинусное преобразование представляет собой разновидность преобразования Фурье и, так же как и оно, имеет обратное преобразование. Графическое изображение можно рассматривать как совокупность пространственных волн, причем оси X и Y совпадают с шириной и высотой картинки, а по оси Z откладывается значение цвета соответствующего пикселя изображения. Дискретное косинусное преобразование позволяет переходить от пространственного представления картинки к ее спектральному представлению и обратно. Воздействуя на спектральное представление картинки, состоящее из “гармоник”, то есть, отбрасывая наименее значимые из них, можно балансировать между качеством воспроизведения и степенью сжатия.

Формулы прямого и обратного дискретного косинусного преобразования представлены ниже. Дискретное косинусное преобразование преобразует матрицу пикселов размером NxN в матрицу частотных коэффициентов соответствующего размера. Несмотря на видимую сложность, закодировать эти формулы достаточно просто.

ДКП

Формула дискретного косинусного преобразования.

ДКПДКП

Формула обратного дискретного косинусного преобразования.

В получившейся матрице коэффициентов низкочастотные компоненты расположены ближе к левому верхнему углу, а высокочастотные - справа и внизу. Это важно потому, что большинство графических образов на экране компьютера состоит из низкочастотной информации. Высокочастотные компоненты не так важны для передачи изображения. Таким образом, дискретное косинусное преобразование позволяет определить, какую часть информации можно безболезненно выбросить, не внося серьезных искажений в картинку.

Реализация дискретного косинусного преобразования. Время, необходимое для вычисления каждого элемента матрицы дискретного косинусного преобразования, сильно зависит от ее размера. Так как используются два вложенных цикла, время вычислений составляет О (NxN). Одной из особенностей является то, что практически невозможно выполнить дискретное косинусное преобразование для всего изображения сразу. В качестве решения этой проблемы группа разработчиков JPEG предложила разбивать изображение на блоки размером 8x8 точек.

Увеличивая размеры блока дискретного косинусного преобразования, можно добиться некоторого увеличения результатов сжатия. Ограничения в коэффициенте сжатия объясняются малой вероятностью того, что удаленные на значительное расстояние точки изображения имеют одинаковые атрибуты.

По определению дискретного косинусного преобразования для его реализации требуется два вложенных цикла, и тело циклов будет выполняться NxN раз для каждого элемента матрицы дискретного косинусного преобразования. Значительно более эффективный вариант вычисления коэффициентов дискретного косинусного преобразования реализован через перемножение матриц.

При таком подходе формула дискретного косинусного преобразования может быть записана в следующем виде:

ДКП = КП * Точки * КПт

Где:

- ДКП - дискретное косинусное преобразование;

- КП - матрица косинусного преобразования размером NxN, элементы которой определяются по формуле

Точки - матрица размером NxN, состоящая из пикселов изображения;

Кпт - транспонированная матрица КП.

При перемножении матриц “цена” вычисления одного элемента результирующей матрицы составляют N умножений и N сложений, при вычислении матрицы дискретного косинусного преобразования - 2xN соответственно. По сравнению с O(NxN) это заметное повышение производительности. Так как дискретное косинусное преобразование является разновидностью преобразования Фурье, то все методы ускорения преобразования Фурье могут быть применены и в данном случае.

Округление коэффициентов. Дискретное косинусное преобразование представляет собой преобразование информации без потерь и не осуществляет никакого сжатия. Напротив, дискретное косинусное преобразование подготавливает информацию для этапа сжатия с потерями или округления.

Округление представляет собой процесс уменьшения количества битов, необходимых для хранения коэффициентов матрицы дискретного косинусного преобразования за счет потери точности.

Стандарт JPEG реализует эту процедуру через матрицу округления. Для каждого элемента матрицы дискретного косинусного преобразования существует соответствующий элемент матрицы округления. Результирующая матрица получается делением каждого элемента матрицы дискретного косинусного преобразования на соответствующий элемент матрицы округления и последующим округлением результата до ближайшего целого числа. Как правило, значения элементов матрицы округления растут по направлению слева направо и сверху вниз.

Выбор матрицы округления. От выбора матрицы округления зависит баланс между степенью сжатия изображения и его качеством после восстановления. Стандарт JPEG позволяет использовать любую матрицу округления, однако ISO разработала набор матриц округления.

Матрица округления строится при помощи очень простого алгоритма. Для того чтобы определить шаг роста значений в матрице округления, задается одно значение в диапазоне [1, 25], называемое фактором качества. Затем матрица заполняется следующим образом:

for (i = 0; i < N; i++)

for (j = 0; j < N; j++)

Matrix[i][j] = 1 + (1 + i + j) * QualityFactor;

Фактор качества задает интервал между соседними уровнями матрицы округления, расположенными на ее диагоналях. Пример, полученной таким образом матрицы округления, представлен на рис. 8

3

5

7

9

11

13

15

17

5

7

11

13

15

17

19

21

7

11

13

15

17

19

21

23

9

11

13

15

17

19

21

23

11

13

15

17

19

21

23

25

13

15

17

19

21

23

25

27

15

17

19

21

23

25

27

29

17

19

21

23

25

27

29

31

Рис. 8. Матрица округления с фактором качества, равным 2.

Необходимо отметить, что при таких значениях матрицы округления коэффициент в матрице дискретного косинусного преобразования, расположенный в ячейке (7,7), должен принимать значение не меньше 16, чтобы после округления иметь значение, отличное от 0, и влиять на декодируемое изображение. Таким образом, операция округления является единственной фазой работы JPEG, где происходит потеря информации.

Вычисления при использовании метода DCT чрезвычайно сложны; фактически — это наиболее трудоемкий этап сжатия JPEG. Выполнив его, мы практически разделяем высокочастотную и низкочастотную информацию, из которых состоит изображение. После этого можно отбросить высокочастотные данные без потери низкочастотных. Сам по себе этап преобразования DCT не предусматривает потерь, за исключением ошибок округления.

Прежде чем отбросить определенный объем информации, компрессор делит каждое выходное значение DCT на "коэффициент квантования", округляя результат до целого. Чем больше коэффициент квантования, тем больше данных теряется, поскольку реальное DCT-значение представляется все менее и менее точно. Каждая из 64 позиций выходного блока DCT имеет собственный коэффициент квантования. Причем термы большего порядка квантуются с большим коэффициентом, чем термы меньшего порядка. Кроме того, для данных яркости и цветности применяются отдельные таблицы квантования, позволяющие квантовать данные цветности с большими коэффициентами, чем данные яркости. Таким образом, JPEG использует различную чувствительность глаза к яркости и цветности изображения.

На этом этапе большинство JPEG-компрессоров управляются с помощью установки качества. Компрессор использует встроенную таблицу, рассчитанную на среднее качество, и наращивает или уменьшает значение каждого элемента таблицы обратно пропорционально требуемому качеству. Применяемые таблицы квантования записываются в сжатый файл, чтобы декомпрессор знал, как восстановить коэффициенты DCT (приблизительно).

Выбор соответствующей таблицы квантования является "высоким искусством". Большинство существующих компрессоров используют таблицу, разработанную Комитетом JPEG ISO. Возможно, со временем будут предложены таблицы, позволяющие осуществлять сжатие более эффективно и при сохранении качества изображения.

Кодирование. Заключительная стадия работы кодера JPEG - это собственно кодирование. Оно включает три действия над округленной матрицей дискретного косинусного преобразования, для того, чтобы повысить степень сжатия.

Первое действие - это замена абсолютного значения коэффициента, расположенного в ячейке (0,0) матрицы, на относительное. Так как соседние блоки изображения в значительной степени “похожи” друг на друга, то кодирование очередного (0,0) элемента как разницы с предыдущим дает меньшее значение.

Коэффициенты матрицы дискретного косинусного преобразования обходятся зигзагом. После чего нулевые значения кодируются с использованием алгоритма кодирования повторов (RLE), а потом результат обрабатывается с помощью “кодирования энтропии”, то есть алгоритмов Хаффмана или арифметического кодирования, в зависимости от реализации.

Кодирование энтропии. Результатом работы, упрощенной схемы кодирования, являются тройки следующего вида:

<КоличествоНулей, КоличествоБитов, Коэффициент>

Здесь:

КоличествоНулей - количество повторяющихся нулей, предшествующих текущему (ненулевому) элементу матрицы дискретного косинусного преобразования;

КоличествоБитов - количество битов, следующих далее, кодирующих значение коэффициента;

Коэффициент - значение ненулевого элемента матрицы дискретного косинусного преобразования.

Соответствие между полями КоличествоБитов и Коэффициент приведено в таблице 2.

Таблица 2

Количество Битов
Коэффициент

1

[-1, 1]

2

[-3, -2], [2, 3]

3

[-7, -4], [4, 7]

4

[-15, -8], [8, 15]

5

[-31, -16], [16, 31]

6

[-63, -32], [32, 63]

7

[-127, -64], [64, 127]

8

[-255, -128], [128, 255]

9

[-511, -256], [256, 511]

10

[-1023, -512], [512, 1023]

Такое кодирование не столь эффективно, как кодирование Хаффмана, но на определенных данных оно дает аналогичные результаты.

После завершения этого этапа поток данных JPEG готов к передаче по коммуникационным каналам или инкапсуляции в формат файла изображения.

Формат JFIF .

Строго говоря, JPEG обозначает рассмотренный выше алгоритм сжатия, а не конкретный формат представления графической информации. Практически любую графическую информацию можно сжать по такому алгоритму. Формат файлов, использующих алгоритм JPEG, формально называют JFIF (JPEG File Interchange Format). На практике, очень часто файлы, использующие JPEG - сжатие, называют JPEG - файлами.

На основе JPEG - метода сжатия построены многочисленные форматы, например, формат TIFF/JPEG, известный как TIFF 6.0, TIFF, QuickTime и др.

Файлы с графикой в формате JPEG имеют расширение *.jpg.

Формат JPEG является TrueColor-форматом, то есть может хранить изображения с глубиной цвета 24 бит/пиксел. Такой глубины цвета достаточно для практически точного воспроизведения изображений любой сложности на экране монитора. В случае просмотра цветного изображения на экране монитора большая глубина цвета (например, 32 бит/пиксел) практически не отличается от изображения с глубиной цвета в 24 бит/пиксел. Тот же результат наблюдается и при распечатке изображения на большинстве доступных принтеров. Глубина цвета в 32 бит/пиксел, как правило, используется в издательской деятельности.

JPEG обладает более высокой степенью сжатия изображений, нежели GIF, но не обладает возможностью хранить несколько изображений в одном файле. Правда, известна модификация формата JPEG, получившая название Progressive JPEG, который предназначен для тех же задач, что и чересстрочное отображение GIF-изображений. Это сделало формат JPEG более привлекательным в качестве сетевого стандарта.

JPEG ориентирован, прежде всего, на реалистичные изображения, то есть изображения фотографической направленности, и качество сжатия значительно ухудшается при обработке изображений с четко очерченными линиями и границами цветов.

Алгоритм JPEG и построенные на его основе форматы  предусматривают реализацию функциональной возможности, получившей название этикетка. Фактически это уменьшенная копия изображения. Этикетку можно рассматривать как своего рода аналог предложенного в формате GIF приема черезстрочной развертки изображения. То есть, при наличии большого количества файлов JPEG можно выводить их на экран в виде этикеток, что позволяет отобразить их достаточно быстро или в большое количество (списком) и, тем самым, дать пользователю представление о содержимом каждого файла. Этикетки могут быть закодированы методом JPEG; сохранены в формате 1 байт/пиксел (т.е. в виде полутонового изображения) или представлены в виде полноцветного изображения с 16,7 млн.цветов(24 бит/пиксел).

JPEG может рассматриваться как набор методов сжатия изображений, пригодных для удовлетворения нужд пользователя. JPEG может настраиваться на воспроизведение очень маленьких, сжатых изображений относительно плохого качества, но подходящих для требуемых целей. В то же время, он позволяет производить сжатие изображений очень высокого качества, объем данных которых намного меньше, чем у оригинальных несжатых данных.

JPEG, как правило, сопровождается потерями. Схемы сжатия JPEG основана на отбрасывании информации, которую трудно заметить визуально. Известно, что небольшие изменения цвета плохо распознаются глазом человека.

Схема JPEG была специально разработана для сжатия цветных и полутоновых многоградационных изображений фотографий, телевизионных заставок, другой сложной графики. Конечный пользователь может "отрегулировать" качество кодировщика JPEG, использовав параметр, который иногда называют установкой качества или Q-фактором. Различные реализации данного метода имеют разные диапазоны Q-фактора, но типичным считается 1 до 100. При значении фактора, равном 1, создается сжатое изображение самого маленького размера, но плохого качества; при значении фактора, равном 100, можно получить сжатое изображение большего размера, но и лучшего качества. Оптимальное значение Q-фактора зависит от содержимого изображения и, следовательно, подбирается индивидуально. Особым искусством при сжатии JPEG является выбор минимального значения Q-фактора, позволяющего создать изображение приемлемого качества и наиболее близкое к оригиналу.

Наряду с вышесказанным необходимо отметить, что графическая анимация, черно-белые иллюстрации, документы, а также типичная векторная графика, как правило, JPEG сжимаются плохо.

В настоящее время JPEG стали использовать для сжатия видеоинформации, однако авторам не известны полученные результаты.

Формат JPEG получил большое распространение в Web – публикациях для представления графических элементов Web – страницы, в тех случаях, когда требуется многоцветное качественное изображение.

Вернуться в расдел СТАТЬИ

Каталог Blackman Basic Delphi/Pascal FoxPro ..ML/CSS JavaScript Старый
каталог
PHP WinApi Windows Алгоритмы Ассемблер
Базы Железо Игры Каталоги Книги  
Культура Новости.Пресса Программы Разные С/VC/C# Словарь
Сети Форматы Форумы Хостинг Юмор  
СайтЯndex
Смотреть телевидениеТелевидение
Слушать радиоРадио Прямой эфир "Эхо Москвы" "Эхо Москвы"
Top 100 Borland Sites. Vote for us Click for Moscow, Russia Forecast